import api from '../../../api/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    getdata: {},
    list: [],
    once: null,
    loading: true,
  },
  onLoad(options) {
    wx.showLoading({
      title: '加载中...'
    })
    this.getSportsData()
  },
  toggleCheckbox: function (e) {
    const value = e.currentTarget.dataset.value;
    const list = this.data.list.map(item => {
      if (item.value === value) {
        item.checked = !item.checked;
      }
      return item;
    });
    this.setData({
      list: list
    });
  },
  putData() {
    console.log('====================================');
    console.log('tijiao', this.data.list);
    console.log('====================================');
    const array = this.data.list
    let num = []
    for (let j = 0; j < array.length; j++) {
      if (array[j].checked == true) {
        num.push(array[j].value)
      }
    }
    console.log(num);
    num = num.toString(num)
    this.put(num)
  },
  async get() {
    try {
      const res = await api.post('/api/user/storage/get', {
        data: {
          'key': 'hxhealthsporttags'
        }
      })
      let array = res[0].value
      console.log(this.data.list);
      let list = this.data.list;
      console.log(res[0].value);
      console.log('-------');
      if (typeof array === 'string') {
        try {
          array = JSON.parse(array)
          console.log("字符串包含对象:", array);
          if (array && typeof array === 'object' && !Array.isArray(array)) {
            this.setData({
              getdata: array
            });
            console.log(array, '----------------------');
            if (array.tags) {
              // 有选择
              console.log('222');
              if (array.tags) {
                let tagsList = array.tags.split(',')
                list.forEach(item => {
                  list.checked = false
                  tagsList.forEach(tag => {
                    if (tag == item.value) {
                      item.checked = true;
                    }
                  })
                })
                this.setData({
                  list: list,
                  loading: false
                });
                wx.hideLoading()
              }
            } else {
              this.setData({
                loading: false
              });
              wx.hideLoading()
            }
          } else {
            this.setData({
              loading: false
            });
            wx.hideLoading()
          }
        } catch (error) {
          this.setData({
            loading: false
          });
          wx.hideLoading()
          console.log("字符串是纯文本:", array);
        }

      }
      // if (array && array.length > 0 && array[0].value) {
      //   // 有选择
      //   if (this.data.once !== 'change') {
      //     wx.redirectTo({
      //       url: `/sportsClass/pages/home/index?tags=${array[0].value}`
      //     })
      //   } else {
      //     let tagsList = array[0].value.split(',')
      //     list.forEach(item => {
      //       list.checked = false
      //       tagsList.forEach(tag => {
      //         if (tag == item.value) {
      //           item.checked = true;
      //         }
      //       })
      //     })
      //     this.setData({
      //       list: list,
      //       loading: false
      //     });
      //   }
      //   wx.hideLoading()
      // } else {
      //   // 没有选择
      //   let tagsList = array[0].value.split(',')
      //   list.forEach(item => {
      //     list.checked = false
      //     tagsList.forEach(tag => {
      //       if (tag == item.value) {
      //         item.checked = true;
      //       }
      //     })
      //   })
      //   this.setData({
      //     list: list,
      //     loading: false
      //   });
      //   wx.hideLoading()
      // }
    } catch (e) {
      console.log('get->', e)
      return null
    }
  },
  async put(result) {
    console.log(result);
    console.log(this.data.getdata);
    let getdata = this.data.getdata
    getdata.tags = result
    console.log(getdata);
    this.setData({
      getdata: getdata
    });
    try {
      const res = await api.post('/api/user/storage/set', {
        data: {
          'key': 'hxhealthsporttags',
          'value': JSON.stringify(getdata)
        }
      })
      wx.showToast({
        title: '保存成功',
        icon: 'none',
        duration: 3000
      })
      if (this.data.once === 'change') {
        console.log('走的呢绒1111');
        let pages = getCurrentPages(); //获取当前页面pages里的所有信息。
        let prevPage = pages[pages.length - 2]; //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面，-3是上上个页面以此类推。
        prevPage.setData({  // 将我们想要传递的参数在这里直接setData。上个页面就会执行这里的操作。
          tags: result
        })
        wx.navigateBack({
          delta: 1
        })

      } else {
        console.log('走的呢2222绒');
        wx.navigateTo({
          url: `/sportsClass/pages/banner/index?tags=${result}`
        })
      }
      console.log(res);
      return res
    } catch (e) {
      console.log('put->', e)
      return null
    }
  },
  async getSportsData() {
    // try {
    //   const list = await api.post('/api/hxhealth/sportvideo/kind')
    //   console.log(list);
    //   for (let i = 0; i < list.length; i++) {
    //     list[i].checked = false;
    //   }
    //   this.setData({
    //     list: list
    //   });
    // } catch (e) {
    //   console.log(e);
    // }

    try {
      const list = await api.get('/api/hxhealth/sportvideo/tags')
      console.log(list);
      // for (let i = 0; i < list.length; i++) {
      //   list[i].checked = false;
      // }
      this.setData({
        list: list
      });
      this.get()
    } catch (e) {
      console.log(e);
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})